var Scala = Domain(
  subtask("Fetch coupons", 
    spec -> "Fetch coupons from server via https",
    creation -> Time(y=2011,m=11,d=13,h=18,min=27,sec=1),
    revision -> Time(y=2011,m=11,d=13,h=18,min=27,sec=1)
  ), 
  subtask("Fetch news from server", 
    spec -> "Fetch news from server via https",
    creation -> Time(y=2011,m=11,d=13,h=18,min=10,sec=46),
    revision -> Time(y=2011,m=11,d=13,h=18,min=10,sec=46)
  ), 
  subtask("Process result", 
    spec -> "Process the https response from the server",
    creation -> Time(y=2011,m=11,d=13,h=17,min=39,sec=35),
    revision -> Time(y=2011,m=11,d=13,h=17,min=39,sec=35)
  ), 
  subtask("Remove launch screen", 
    spec -> "Fades out the launchscreen when application initialization has finished",
    creation -> Time(y=2011,m=11,d=13,h=17,min=0,sec=5),
    revision -> Time(y=2011,m=11,d=13,h=17,min=0,sec=5)
  ), 
  subtask("Reverse geocode active location", 
    spec -> "Ask google for information about the active location",
    creation -> Time(y=2011,m=11,d=13,h=17,min=25,sec=20),
    revision -> Time(y=2011,m=11,d=13,h=17,min=25,sec=20)
  ), 
  subtask("Select sharing method", 
    spec -> "An action sheet is revealed containing the different sharing methods",
    creation -> Time(y=2011,m=11,d=13,h=18,min=54,sec=18),
    revision -> Time(y=2011,m=11,d=13,h=18,min=54,sec=18)
  ), 
  subtask("Send fetch request", 
    spec -> "Sends a fetch request with the active location via https to server.",
    creation -> Time(y=2011,m=11,d=13,h=17,min=38,sec=43),
    revision -> Time(y=2011,m=11,d=13,h=17,min=38,sec=43)
  ), 
  subtask("Share POI", 
    spec -> "Perform sharing the selected sharing method",
    creation -> Time(y=2011,m=11,d=13,h=18,min=55,sec=4),
    revision -> Time(y=2011,m=11,d=13,h=18,min=55,sec=4)
  ), 
  subtask("Show POIs", 
    spec -> "Place a pin on the map for each POI fitting the user defined filter",
    creation -> Time(y=2011,m=11,d=13,h=18,min=1,sec=8),
    revision -> Time(y=2011,m=11,d=13,h=18,min=1,sec=8)
  ), 
  subtask("Show coupons", 
    spec -> "Show formatted http response from server",
    creation -> Time(y=2011,m=11,d=13,h=18,min=30,sec=59),
    revision -> Time(y=2011,m=11,d=13,h=18,min=30,sec=59)
  ), 
  subtask("Show default tab", 
    spec -> "Initializes and shows the default application tab specifyed by the customer",
    creation -> Time(y=2011,m=11,d=13,h=17,min=8,sec=7),
    revision -> Time(y=2011,m=11,d=13,h=17,min=8,sec=7)
  ), 
  subtask("Show info", 
    spec -> "Shows Version number of the application, credits about the developers and contact information to the developers",
    creation -> Time(y=2011,m=11,d=13,h=18,min=43,sec=58),
    revision -> Time(y=2011,m=11,d=13,h=18,min=43,sec=58)
  ), 
  subtask("Show launch screen", 
    spec -> "Shows the launch screen until application initializatoin is finished",
    creation -> Time(y=2011,m=11,d=13,h=16,min=57,sec=26),
    revision -> Time(y=2011,m=11,d=13,h=16,min=57,sec=26)
  ), 
  subtask("Show news", 
    spec -> "Shows the formatted http response from the server",
    creation -> Time(y=2011,m=11,d=13,h=18,min=12,sec=2),
    revision -> Time(y=2011,m=11,d=13,h=18,min=12,sec=2)
  ), 
  subtask("Show reults", 
    spec -> "Show fetched POIs in the map view",
    creation -> Time(y=2011,m=11,d=13,h=17,min=40,sec=45),
    revision -> Time(y=2011,m=11,d=13,h=17,min=40,sec=45)
  ), 
  task("Application startup", 
    critical -> "None.",
    creation -> Time(y=2011,m=11,d=13,h=16,min=50,sec=54),
    purpose -> "Start the application and make it ready to use",
    revision -> Time(y=2011,m=11,d=13,h=16,min=50,sec=54),
    frequency -> "1 time per application use",
    trigger -> "Precondition: Application is not running. Trigger: User taps the application icon"
  ), 
  task("Application startup") has (subtask("Show launch screen"),subtask("Remove launch screen"),subtask("Show default tab")), 
  task("Fetch Points Of Intrest (POI)", 
    critical -> "None since a fetch is cancelable",
    creation -> Time(y=2011,m=11,d=13,h=17,min=16,sec=31),
    purpose -> "Fetch POIs from server",
    revision -> Time(y=2011,m=11,d=13,h=17,min=16,sec=31),
    frequency -> "An average of 5 times per application use",
    trigger -> "Trigger 1: User requests the map view. Trigger 2: User sets a different active location."
  ), 
  task("Fetch Points Of Intrest (POI)") has (subtask("Reverse geocode location"),subtask("Send fetch request"),subtask("Process result"),subtask("Show results")), 
  task("Share POI", 
    critical -> "None.",
    creation -> Time(y=2011,m=11,d=13,h=18,min=53,sec=21),
    purpose -> "Let the user share the selected POI.",
    revision -> Time(y=2011,m=11,d=13,h=18,min=53,sec=21),
    frequency -> "An average of 5 times per application use.",
    trigger -> "Precondition: The more info view is loaded. Trigger: The user taps the share button"
  ), 
  task("Share POI") has (subtask("Select sharing method"),subtask("Share POI")), 
  task("Show Fetched POIs") has (subtask("Show POIs")), 
  task("Show about view", 
    critical -> "None.",
    creation -> Time(y=2011,m=11,d=13,h=18,min=42,sec=2),
    purpose -> "Show information about the application and its developers.",
    revision -> Time(y=2011,m=11,d=13,h=18,min=42,sec=2),
    frequency -> "An average of 1 time per application use",
    trigger -> "User taps the about button."
  ), 
  task("Show about view") has (subtask("Show info")), 
  task("Show coupon view", 
    critical -> "None.",
    creation -> Time(y=2011,m=11,d=13,h=18,min=26,sec=29),
    purpose -> "Let the application owner give application users application specific coupons.",
    revision -> Time(y=2011,m=11,d=13,h=18,min=26,sec=29),
    frequency -> "An average of 2 timer per application use",
    trigger -> "The coupon tab is tapped"
  ), 
  task("Show coupon view") has (subtask("Fetch coupons"),subtask("Show coupons")), 
  task("Show fetched POIs", 
    critical -> "None.",
    creation -> Time(y=2011,m=11,d=13,h=17,min=54,sec=0),
    purpose -> "Show filtered POIs",
    revision -> Time(y=2011,m=11,d=13,h=17,min=54,sec=0),
    frequency -> "An average of 10 times per application use.",
    trigger -> "Precondition: Application has fetched POIs. Trigger 1: POI Fetch finishes. Trigger 2: User changes map view. Trigger 3: User sets a different active location. Trigger 4: User changes filter parameters"
  ), 
  task("Show news view", 
    critical -> "None.",
    creation -> Time(y=2011,m=11,d=13,h=18,min=10,sec=1),
    purpose -> "Let the application owner show news to the application users.",
    revision -> Time(y=2011,m=11,d=13,h=18,min=10,sec=1),
    frequency -> "An average of 1 time per application use",
    trigger -> "The news view is loaded"
  ), 
  task("Show news view") has (subtask("Fetch news from server"),subtask("Show news"))
)
